--- orig/vikgpslayer.c	2015-12-15 00:34:43.000000000 +0100
+++ src/vikgpslayer.c	2018-10-09 20:32:19.001703665 +0200
@@ -1681,2 +1681,4 @@
     if (gps_read(&vgl->vgpsd->gpsd) > -1) {
+#elif GPSD_API_MAJOR_VERSION >= 7
+    if (gps_read(&vgl->vgpsd->gpsd, NULL, 0) > -1) {
       // Reuse old function to perform operations on the new GPS data
@@ -1713,2 +1715,12 @@
 
+/**
+ * rt_gpsd_try_connect:
+ *
+ * ATM Known to work up to at least GPSD_API_MAJOR_VERSION 7
+ *
+ * Support for the old/very old GPSD API versions is increasingly subject
+ *  to bitrot due to difficulty of creating/maintaining a test environment
+ *  of old software versions
+ *
+ */
 static gboolean rt_gpsd_try_connect(gpointer *data)
@@ -1724,3 +1736,3 @@
   if (gps_open_r(vgl->gpsd_host, vgl->gpsd_port, /*(struct gps_data_t *)*/vgl->vgpsd) != 0) {
-#elif GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6
+#elif GPSD_API_MAJOR_VERSION >= 5
   vgl->vgpsd = g_malloc(sizeof(VglGpsd));
